package cn.nubia.admin.file;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

/**
 * 通过java获取图片的宽和高
 * @author gcj
 * 2015-09-15
 * http://hi.juziku.com/sunlightcs/
 */
public class ImageTools {

    /**
     * 获取图片宽度、高度
     * 使用完请关闭InputStream is
     * @param is 图片文件
     * @return ret[0] 宽 ret[1] 高
     */
    public static int[] getImgWidthHeight(InputStream is) {
        BufferedImage src = null;

        int[] ret =new int[2];
        try {
            src = javax.imageio.ImageIO.read(is);
            ret[0] = src.getWidth(null); // 得到源图宽
            ret[1] = src.getHeight(null);//得到源图高
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ret;
    }


    /**
     * 获取图片宽度
     * 使用完请关闭InputStream is
     * @param is 图片文件
     * @return ret
     */
    public static int getImgWidth(InputStream is) {
        BufferedImage src = null;

        int ret =-1;
        try {
            src = javax.imageio.ImageIO.read(is);
            ret = src.getWidth(null); // 得到源图宽
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 获取图片高度
     *使用完请关闭InputStream is
     * @param is 图片文件
     * @return 高度
     */
    public static int getImgHeight(InputStream is) {
        BufferedImage src = null;
        int ret = -1;
        try {
            src = javax.imageio.ImageIO.read(is);
            ret = src.getHeight(null); // 得到源图高
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ret;
    }
}
